﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace VISS.API.Users {

    /// <summary>
    /// This interface is used for Web Admin to manage user report
    /// </summary>
    public interface IUserReportAdmin {

        /// <summary>
        /// Delete a report by ID
        /// the report will not actually deleted, just set status to "Deleted"
        /// </summary>
        /// <param name="iD">The report ID.</param>
        /// <returns>
        /// return true if success, otherwise return false
        /// </returns>
        bool Delete(long iD);

        /// <summary>
        /// Get all reports by specified status
        /// </summary>
        /// <param name="status">The status.</param>
        /// <returns></returns>
        List<UserReportEnt> GetAllByStatus(EUserReportStatus status);
        /// <summary>
        /// Get all report about specified user
        /// </summary>
        /// <param name="reportedUserKey">The reported user key.</param>
        /// <returns>Return list of UserReportEnt if exists, otherwise return empty list</returns>
        List<UserReportEnt> GetByReportedUserKey(string reportedUserKey);
    }
}
